import socket

from loguru import logger

# 1.创建服务端套接字对象
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置端口复用
tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
# 2.绑定IP地址和端口号
tcp_server_socket.bind(("", 8080))
# 3.设置监听 128：最大等待连接数
tcp_server_socket.listen(128)
# 4.等待接收客户端的连接请求 accept会进行阻塞等待
conn_socket, addr = tcp_server_socket.accept()
logger.info(f"客户端地址：{addr}")
# 5.接收数据 recv也会进行阻塞等待
recv_data = conn_socket.recv(1024)
logger.info(f"接收到的数据：{recv_data.decode(encoding='gbk')}")
# 6.发送数据
conn_socket.send('客户端的数据我收到了'.encode(encoding='gbk'))
# 7.关闭套接字
conn_socket.close()
tcp_server_socket.close()
